The present invention relates generally to the field of image processing, and more specifically to the coding and decoding by competition between digital images and between digital image sequences.
There are a number of coding and decoding methods for transmitting images. Major coding types can notably be distinguished, such as the so-called “intra” coding in which an image is coded independently, that is to say without reference to other images, or else the so-called “inter” coding which consists in coding a current image in relation to past images so as to express and transmit only the difference between these images.
The coding methods of the abovementioned type generally comprise a predictive coding step in which groups of pixels, called blocks or macroblocks, of a current image are predicted relative to other reference blocks or macroblocks, that is to say blocks or macroblocks that have been previously coded then decoded.
In the case, for example, of the standard H264/MPEG-4 AVC (AVC standing for “Advanced Video Coding”), the predictive coding of a macroblock consists in subdividing the macroblocks according to a plurality of partitions that generally have the form of smaller blocks.
In the case of the 16×16 Intra coding, the macroblock is considered as a unique partition which is predicted relative to a set of four spatial predictors. In the case of the 8×8 or 4×4 Intra coding, each smaller block is predicted relative to a set of nine spatial predictors comprising the four spatial predictors used in the 16×16 Intra coding.
In the case of the inter coding, the macroblock may be partitioned according to the 16×16, 8×16, 16×8 and 8×8 modes. If the 8×8 mode is selected, each 8×8 block is once again partitioned according to the 8×8, 4×8, 8×4 and 4×4 modes. Each current block is compared to one or more blocks of one or more reference images. A temporal predictor is then defined by a vector which describes the movement between the current block and the reference block. If, for example, a macroblock is partitioned in 16 blocks (4×4 mode), 24 displacement vectors will be coded. Such inter coding may moreover be refined by splitting the displacement vector in order to achieve a precision which, beyond an entire pixel, can be extended to the half-pixel, to the quarter pixel, or even to the eighth pixel.
The competition-based intra or inter coding, as implemented in the H264/AVC standard, thus relies on having the abovementioned various predictors compete, whether they are of spatial or temporal type, in order to select the best predictor, that is to say, the predictor which will optimize the coding of the block concerned according to a predetermined criterion, for example the bit rate/distortion cost.
One drawback to such a predictive coding lies in the large number of predictors offered and it has been found that some codings made to compete are very similar for certain image contents and certain bit rates used, which unnecessarily increases the bit rate of the competition information induced by these multiple predictors.
Another drawback in such a predictive coding lies in the fact that the calculation of a selection criterion, such as the bit rate/distortion cost, is performed for the set of predictors and is therefore an intensive consumer in terms of central processing unit computation power and processing time.